package com.briup.day15;

import java.io.*;

/**
 * @author 谭梦寻
 * @version 1.1
 * 字符输入和输出流缓存
 * 文件流 关闭中包含了刷新操作
 * 内存流 不用刷新和关闭 操作都是内存数据
 * 包装流 直接关系流顺序：先打开后关闭（直接关闭包装流也可以）
 */
public class TestBufferedReaderAndWriter {
    public static void main(String[] args) throws IOException {
//        1 声明流
        BufferedReader br = null;
        BufferedWriter bw = null;
//        2 进行赋值
        br = new BufferedReader(new FileReader("D:/a.txt"));
        bw = new BufferedWriter(new FileWriter("b.txt"));
//        3 操作流（读 写 一行数据）
        String line = null;
        while ((line = br.readLine())!=null) {
            System.out.println(line);
            bw.write(line);
            if (br.ready()) {
//                当字符输入缓存留没有到文件末尾 返回true
                bw.write("\n");//可以使用bw.newLine()方法
            }else {
//                不操作 可以不写
            }
        }
//        4 关闭流
        br.close();
        bw.flush();
        bw.close();
    }
}
